package com.softer.chengxin.param.service;

import com.github.pagehelper.PageInfo;
import com.softer.chengxin.common.domin.CommonResult;
import com.softer.chengxin.common.domin.Page;
import com.softer.chengxin.param.entity.ScoreType;
import com.softer.chengxin.param.entity.ScoreTypeDetail;

import java.util.List;

/**
 * @author Gong Zhiyang
 * @date 2019/12/13
 */
public interface ScoreTypeService {

    /**
     * 新增评分类型
     *
     * @param list 类型集合
     * @return 新增结果
     */
    CommonResult add(List<ScoreType> list);
    /**
     * 删除评分类型
     *
     * @param id      ID
     * @return 删除结果
     */
    CommonResult delete(int id);
    /**
     * 修改评分类型
     *
     * @param scoreType 评分类型
     * @return 新增结果
     */
    CommonResult update(ScoreType scoreType);
    /**
     * 删除分数类型
     *
     * @param id      ID
     * @return 删除结果
     */
    CommonResult deleteScoreTypeDetail(int id);
    /**
     * 查询评分类型
     *
     * @param id      类型ID
     * @return 详情
     */
    ScoreType getInfo(int id);
    /**
     * 查询评分类型列表
     * @param scoreType 查询实体
     * @param page 分页实体
     * @return 评分类型列表
     */
    PageInfo<ScoreType> getScoreTypeList(ScoreType scoreType, Page page);
    /**
     * 修改评分类型状态
     *
     * @param id      评分类型ID
     * @param state   状态（0关闭，1开启）
     * @return 修改结果
     */
    CommonResult updateState(int id, int state);
    /**
     * 获取评分类型下拉列表
     *
     * @param type    类型（1优良，2负面，3严重失信）
     * @return 评分类型下拉列表
     */
    List<ScoreType> getTypeList(int type);
    /**
     * 获取
     * 未关闭的
     * 评分类型下拉列表
     *
     * @param type 类型（1优良，2负面，3严重失信）
     * @return 评分类型下拉列表
     */
    List<ScoreType> getOpenTypeList(int type);
    /**
     * 获取分数下拉列表
     *
     * @param id      评分类型ID
     * @return 分数下拉列表
     */
    List<ScoreTypeDetail> getScoreList(int id);
}
